// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

//引用tcb-router
const TcbRouter = require('tcb-router')

//引用promise
const rp = require('request-promise')

//既然是发送请求，那么需要一个地址
const BASE_URL = 'http://musicapi.xiecheng.live'

// 云函数入口函数
exports.main = async (event, context) => {

  //new一个实例
  const app = new TcbRouter({event})

  //声明一个路由信息,详情信息
  app.router('playlist',async(ctx,next) => {
    ctx.body = await cloud.database().collection('playlist').skip(event.start).limit(event.count).orderBy('createTime', 'desc').get().then((res) => {
      return res
    })
  })

  //在声明一个路由信息，歌曲详情
  app.router('musiclist',async(ctx,next) => {
    ctx.body = await rp(BASE_URL + '/playlist/detail?id='+parseInt(event.playlistId)).then((res)=>{
      return JSON.parse(res)
    })
  })

  //获取歌曲播放地址
  app.router('musicUrl',async(ctx,next) => {
    //id就是需要把当前的音乐music的id传给我，根据ID返回一个播放地址
    ctx.body = await rp(BASE_URL + `/song/url?id=${event.musicId}`).then((res)=>{
      return res
    })
  })

  //获取歌曲歌词
  app.router('lyric',async(ctx,next) => {
    ctx.body = await rp(BASE_URL + `/lyric?id=${event.musicId}`).then((res)=>{
      return res
    })
  })

  return app.serve()
}